package com.foreknow.demo1;
/**
 * Created by foreknow on 2022/4/10.
 * 运算符和表达式
 * 1. 运算符  +   -   *   / (除数不能为0，否则执行会报错)   %(求余)
 * 2. 赋值运算符
 *    =赋值
 *    +=  -=  *= /=  %= 复合赋值运算符
 * 3. 比较运算符：对数据进行比较操作，它的最终的结果为boolean类型
 *    ==  ！=  > >=  < <=
 *
 * 4. 单目运算符：用于控制整数自增和自减  ++   --
 *    ++  用于表示某个整数变量进行自增1的操作
 *    如果 ++ 在整数变量的后面 表示变量的值先参与运算然后自增加1
 *    如果 ++ 在整数变量的前面 表示先加1，然后再参与运算
 *
 *    为一个变量+1的方法有哪些
 *    1. a = a +1 效率最低
 *    2. a += 1 含有类型转换的功能
 *    3. ++ 效率是最高的(推荐)
 *
 */
public class OperayionAndExpress {
    public static void main(String[] args) {
        int a=5;
        double b=2.5;
        System.out.println(a+b);
        byte s1=37;
        short s2=32;
        int s3=s1+s2;
        System.out.println(s3);
        //复合赋值运算符
        int k=3;
        int j=2;
        //k *= j//k=k*j
        //k %= j//k=k%j
        k += j;//k=k+j
        System.out.println(k);
        short s = 35;
        //s = s + 1;  //报错，因为s+1会被认为是int类型，不能向short类型直接转换
        s += 1; //正确 因为+=含有类型转换的功能
        //比较运算符
        System.out.println(a==b);
        System.out.println(a!=b);
        //单目运算符
        System.out.println(a++);
        System.out.println(++a);
        //逻辑运算符
        int w=5;
        int t=3;
        int z=2;
        boolean x1=(w>t)&&(t>z);
        boolean x2=(w>t)&&(t<z);
        boolean x3=(w>t)||(t>z);
        boolean x4=(w>t)||(t<z);
        boolean x5=(w<t)||(t<z);
        System.out.println(x1);
        System.out.println(x2);
        System.out.println(x3);
        System.out.println(x4);
        System.out.println(x5);
        //三元运算符   判断数据是否为偶数
        int d=4;
        char c=(4%2==0)?'是':'否';
        System.out.println(c);
    }
}
